package fundation.bitwiseOperation;

import org.junit.Test;

/**
 * @Description 位运算
 * @Author away
 * @Version V1.0.0
 * @Since 1.0
 * @Date 2019/11/11
 */
public class BitwiseDemo1 {


    /**
     * >>> 无符号位移，首位补零，导致负数变成正数
     */
    @Test
    public void test01(){
        Integer t = 100,negative = -100;
        System.out.println("100\t 二进制 \t"+Integer.toBinaryString(t));
        System.out.println("-100\t 二进制 \t" +Integer.toBinaryString(negative));

        Integer t1 = t >>> 1;
        Integer t2 = t >> 1;

        Integer n1 = negative >>>1;
        Integer n2 = negative >> 1;
        System.out.println();
        System.out.println(t1+"\t 二进制 \t"+Integer.toBinaryString(t1));
        System.out.println(t2+"\t 二进制 \t"+Integer.toBinaryString(t2));
        //向前甜宠了0所以不是简单的除以2了
        System.out.println(n1+"\t 二进制 \t"+Integer.toBinaryString(n1));
        System.out.println(n2+"\t 二进制 \t"+Integer.toBinaryString(n2));

    }
}
